package br.com.salao.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.salao.bean.GerencEtapaConfigEstabelecimento;
import br.com.salao.util.JpaUtil;

public class GerencEtapasConfEstabDaoImpl {
	
	private final GenericDao<GerencEtapaConfigEstabelecimento> dao;

	public GerencEtapasConfEstabDaoImpl(EntityManager em) {
		dao = new GenericDao<GerencEtapaConfigEstabelecimento>(em, GerencEtapaConfigEstabelecimento.class);
	}
	
	public GerencEtapaConfigEstabelecimento inserir( GerencEtapaConfigEstabelecimento configEstabelecimento){
		return dao.salvar(configEstabelecimento);
	}
	
	public GerencEtapaConfigEstabelecimento update(GerencEtapaConfigEstabelecimento configEstabelecimento){
		return dao.update(configEstabelecimento);
	}
	
	@SuppressWarnings("unchecked")
	public List<GerencEtapaConfigEstabelecimento> buscarGerencEtapaConfigEstabPorIdEstabelecimento(int idEstabelecimento){
		
		@SuppressWarnings("static-access")
		EntityManager em = new JpaUtil().getEntityManager();

		List<GerencEtapaConfigEstabelecimento> listGerencEtapaConfigEstabelecimento = null;

		try {		
			Query query = em.createQuery("from GerencEtapaConfigEstabelecimento e where e.estabelecimento.id like :idEstabelecimento");
			query.setParameter("idEstabelecimento", idEstabelecimento);
			listGerencEtapaConfigEstabelecimento = (List<GerencEtapaConfigEstabelecimento>) query.getResultList();	
			
		} catch (Exception e) {
			
			e.printStackTrace();
			listGerencEtapaConfigEstabelecimento = null;
			
		} finally{
			
			if(em != null){
				em.close();
			}
			
		}
		return listGerencEtapaConfigEstabelecimento;
	}

}
